#ifndef WEBSERVICECALL_H

#include "lib.h"

// CSN-8893 - Data structure for External Wallet transactions
struct WalletTransaction
{
	String transactionId;
	String pid;
	int64 sessionId;
	int64 roundId;
	int gameId;
	int machId;
	int32 amount;
	String currency;
};

class WebServiceCall
{
public:
	WebServiceCall();
	~WebServiceCall();

	bool Authenticate(String sToken, String& sPID, String& sClientType, String& sCurrency);	// CSN-8909: Look for clientType
																							// CSN-11204: Look for currency

	// CSN-8893 - External Wallet methods
	bool CreditWallet(const WalletTransaction *transaction, int32 *balance);
	bool DebitWallet(const WalletTransaction *transaction, int32 *balance);
	bool GetBalanceWallet(String pid, int32 *balance);

	String base64_encode(unsigned char const* bytes_to_encode, int32 len);
	String base64_encode(String sToEncode);
};

#endif